import baseconfig from "./common/baseconfig.js"
import { formatGetUri } from './common/util.js'
const httpClient = {
	request:function(method,url,data){
		var headers={
			// "Content-Type": "application/x-www-form-urlencoded",
			"Authorization": uni.getStorageSync("auth_token")
		};
		let isload=url.indexOf('home/update')
		
		return new Promise((resolve,reject)=>{
			if(!(data=='other'||isload!=-1)){
				uni.showLoading({
					title:"加载中"
				});
			}
			
			uni.request({
				sslVerify:false,
				url:url,
				header:headers,
				data:data,
				method:method,
				dataType: 'json',
				success:function(res){
					
					if(!(data=='other'||isload!=-1)){
						uni.hideLoading()
					}
					console.log(res)
					let data=res.data
					switch(res.statusCode){
						case 200:
							
							switch(data.code){
								case 0:
									uni.showToast({
										icon: 'none',
										duration:4000,
										title: data.object
									});
								break;
								case 10400:
									uni.showToast({
										icon: 'none',
										duration:4000,
										title: res.object
									});
								break;
								case 10401:
									uni.showToast({
										icon: 'none',
										duration:4000,
										title: res.object
									});
									 uni.clearStorageSync();
									setTimeout(function(){
										uni.reLaunch({
											url: '/pages/login/index'
										});
									},1500);
									
								break;
								case 10500:
									uni.showToast({
										icon: 'none',
										duration:4000,
										title: res.object
									});
								break;
								case 5000:
									uni.showToast({
										icon: 'none',
										duration:4000,
										title: data.object
									});
								break;
							}
							resolve(data);
						break;
						case 401:
						
							uni.showToast({
								icon: 'none',
								duration:4000,
								title: '登录信息失效，重新登录'
							});
							 uni.clearStorageSync();
							setTimeout(function(){
								uni.reLaunch({
									url: '/pages/login/index'
								});
							},1500);
						break;
						case 404:
						uni.showToast({
							icon: 'none',
							duration:4000,
							title: res.object
						});
						break;
						case 400:
						uni.showToast({
							icon: 'none',
							duration:4000,
							title: res.object
						});
						break;
						default:
						
							uni.showToast({
								icon: 'none',
								duration:4000,
								title: res.object
							});
					}
					// if(res.statusCode == 401){
						
					// }else{
					// 	if(res.object.error != null){
					// 		uni.showToast({
					// 			icon: 'none',
					// 			duration:1000,
					// 			title: res.object.error.message
					// 		});
					// 		return;
					// 	}else{
					// 		let data=res.object
					// 		switch(data.Code){
					// 			case 10200:
								
					// 			break;
					// 			case 10400:
					// 				uni.showToast({
					// 					icon: 'none',
					// 					duration:1000,
					// 					title: res.object
					// 				});
					// 			break;
					// 			case 10401:
					// 				uni.showToast({
					// 					icon: 'none',
					// 					duration:1000,
					// 					title: res.object
					// 				});
					// 				setTimeout(function(){
					// 					uni.reLaunch({
					// 						url: '../login/login'
					// 					});
					// 				},1500);
					// 			break;
					// 			case 10500:
					// 				uni.showToast({
					// 					icon: 'none',
					// 					duration:1000,
					// 					title: res.object
					// 				});
					// 			break;
					// 		}
					// 		resolve(res.object);
					// 	}
					// }
				},
				fail: function(err){
					
					if(!(data=='other'||isload!=-1)){
						uni.hideLoading()
					}
					
					reject(err)
				}
			})
		})
	},
	Get: function(url,data){
		let allurl = this.geturl(url);
		return this.request('GET',allurl,data)
	},
	Post: function(url,data,addUrl,other){
		let allurl = this.geturl(url);
		if(addUrl){
			
			allurl = this.geturl(url)+formatGetUri(data)
			return this.request('POST',allurl,other)
		}else{
			return this.request('POST',allurl,data)
		}
		
		
	},
	geturl:function(url){
		return baseconfig.server+url
	}
};

module.exports = httpClient
